Smart
contracts can be used to create a reliable and interactive record of a
transaction between two parties. We propose a modern reimplementation of
‘composing contracts’, initially described by Peyton Jones et al.,
which can be used as a declarative language for the creation of Ethereum
smart contracts that model real-world financial transactions.